Org favicon + social card kit#17
Merged
Merged
Conversation
A deterministic brand toolchain (brand/build/) generating the org favicon, GitHub/Telegram avatars, and og:image social cards from the approved two-snakes + chevron mark and a Jost wordmark lockup, plus site wiring. - brand/build/: green/cream/gold tokens; a fonttools Jost outliner (wordmark rendered as SVG paths, no font dependency at view time); geometry builders; a renderer emitting SVG + rsvg-rasterized PNG (PNGs skipped if rsvg absent). - Icon: border-reaching snakes (square block head + diagonal-cut tail) around a gold chevron, square full-bleed; one mark for favicon / apple-touch / avatar, plus a padded avatar-circle for circular crops (Telegram). - Social card: MODERN / PYTHON Jost lockup framed by the snakes; cream (primary) and green, 1280x640 og:image and a 640x640 square. - Site: new favicon + og:image (1280x640) wired into mkdocs/overrides. Design spec and plan under docs/superpowers/. Supersedes the snake mark in PR #16; the homepage hero and header logo redesign are deferred. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The seam-overlap fix moved the tail's inner vertex into the stroke, stepping the body's inner edge. Use a 4-point tail that overlaps the stroke for the seam but starts the inner diagonal at the body's inner corner, so the inner line runs straight into the tail. Applies to icon and lockup tails. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Org favicon + social card
A reproducible brand kit for the org's favicon and social card, generated from a small Python toolchain. Supersedes the snake mark in #16 (the org identity was redesigned from scratch). The homepage hero and header-logo redesign are intentionally deferred.
The mark
Two interlocked "snakes" reaching the borders — each a square block head at one end and a diagonal-cut tail at the other — around a gold chevron (
>), on a square full-bleed green tile. One mark at every size.Deliverables (
brand/org/)favicon.svg+favicon-16/32/48.png,apple-touch-icon.svg+apple-touch-icon-180.pngavatar.svg+avatar-1024.png(GitHub, square), and a paddedavatar-circle.svg+avatar-circle-1024.pngfor platforms that crop to a circle (Telegram)MODERN/PYTHONJost lockup framed by the snakes:social-card.{svg,png}(cream, primary) +social-card-green.{svg,png}, 1280×640 og:image, and 640×640 squaresHow it's built
brand/build/:tokens.py(green/cream/gold palette),text.py(afonttoolsJost outliner — the wordmark ships as SVG paths, so assets render with no font installed),geometry.py(SVG builders),render.py(writes SVG + rasterizes PNG viarsvg-convert, skipped gracefully if absent). Regenerate:uv run python -m brand.build.render.Site
mkdocs.yml/overrides/main.html). Homepage hero + header logo left as-is (deferred).Verification
uv run pytest -q→ 14 passeduvx ty check brand tests→ cleanuv run mkdocs build --strict→ clean🤖 Generated with Claude Code